package com.qingyun.system.common.util;

import java.util.regex.Pattern;

public class MarkdownUtils {

    // 正则表达式匹配Markdown标记
    private static final Pattern MARKDOWN_PATTERN = Pattern.compile(
            "(\\*\\*|__)(.*?)(\\*\\*|__)|" + // 粗体
                    "(\\*|_)(.*?)(?=\\*|_)|" + // 斜体
                    "(\\*\\*\\*|~~)(.*?)(?=\\*\\*\\*|~~)|" + // 粗体斜体
                    "(\\[([^\\]]+)\\]\\(([^\\)]+)\\))|" + // 链接
                    "(\\!?\\[([^\\]]+)\\]\\(([^\\)]+)\\))|" + // 图片
                    "(\\#+)(.*?)(?=\\#+)|" + // 标题
                    "(\\>\\s(.*?))|" + // 引用
                    "(\\`\\`\\`(.*?)\\`\\`\\`(\\n)?)|" + // 代码块
                    "(\\s{0,3}\\*\\s)|" + // 无序列表
                    "([\n#\r\t]+)" // \n \r \t #
    );

    public static String strip(String markdown) {
        return MARKDOWN_PATTERN.matcher(markdown).replaceAll("");
    }
}
